package com.yutian.selfservice.support.api;

import com.yutian.selfservice.support.dict.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.List;

/**
 * 申请材料 5.2.5
 */
@Data
@Table(name = "t_service_guide_material")
@Accessors(chain = true)
@Dict()
public class ApplicationMaterial {
    /**
     *
     */
    private Long id;
    private Long materialId;
    /**
     *实施清单ID
     */
    private Long serverId;
    /**
     *序号
     */
    private Long idxNum;

    /**
     * 材料名称
     */
    private String materialName;
    /**
     * 材料类型
     */
    @Dict("A26")
    private String materialType;
    /**
     * 材料形式
     */
    @Dict("A30")
    private String materialForm;




    //材料明细信息
    /**
     *材料必要性
     */
    @Dict("A07")
    private String isMust;
    /**
     * 电子材料格式
     */
    @Dict("A31")
    private String materialFormElectSpecs;
    /**
     * 来源渠道
     */
    @Dict("A29")
    private String materialSource;
    /**
     * 来源渠道说明
     */
    private String materialSourceRemark;
    /**
     * 纸质材料份数
     */
    private Long materialFormPaperNum;
    /**
     * 纸质材料规格
     */
    private String paperMaterStandard;
    /**
     *盖章或盖手印方式
     */
    private String sealWay;
    /**
     *是否容缺
     */
    @Dict("A07")
    private String isLack;
    /**
     * 是否减免
     */
    @Dict("A07")
    private String isWaiver;
    /**
     *减免模式
     */
    @Dict("A28")
    private String exemptionType;
    /**
     * 填报须知
     */
    private String deliverDemand;

    /**
     * 受理标准
     */
    private String acceptCriteria;
    /**
     * 申请材料依据 关联法律依据表格  4	申请材料依据   需要自行映射
     */
    @Transient
    private List<String> materialLegalGround;

    /**
     * 备注
     */
    private String remark;

    @Transient
    private List<DownloadMaterial> DownloadMaterials;
    /**
     * 材料下载 5.2.22
     */
    @Data
    @Table(name = "t_service_guide_material_download")
    public static class DownloadMaterial{
        private Long id;
        private Long materialId;
        private String v3DownloadAddress;
        private String v3PreviewAddress;
    }


}
